--- 模块功能：ILI9806E驱动芯片LCD命令配置
-- @author openLuat
-- @module ui.mipi_lcd_GC9503V
-- @license MIT
-- @copyright openLuat
-- @release 2021.09.01

--[[
注意：MIPI接口

module(...,package.seeall)
]]
--[[
函数名：init
功能  ：初始化LCD参数
参数  ：无
返回值：无
]]
local function init()
    local para =
    {
        width = 480, --分辨率宽度，
        height = 854, --分辨率高度
        bpp = 16, --MIPI LCD直接写16，暂不支持其他配置
        bus = disp.BUS_MIPI, --LCD专用SPI引脚接口，不可修改
        xoffset = 0, --X轴偏移
        yoffset = 0, --Y轴偏移
        freq = 125000000, --mipi时钟最高为500000000
        pinrst = pio.P0_20, --reset，复位引脚,MIPI屏幕必须填写
        pinrs = 0x000300ffff, --mipi不需要rs脚，直接写0x000300ffff
        --初始化命令
        --前两个字节表示类型：0001表示延时，0000或者0002表示命令，0003表示数据
        --延时类型：后两个字节表示延时时间（单位毫秒）
        --命令类型：后两个字节命令的值
        --数据类型：后两个字节数据的值
	--现在MIPI LCD 只支持,lane 2线,RGB565格式
        --[[
		initcmd =
        {

			0x000200F0,0x00030055,0x000300AA,0x00030052,0x00030008,0x00030000,
			0x000200F6,0x0003005A,0x00030087,
			0x000200C1,0x0003003F,
			0x000200C2,0x0003000E,
			0x000200C6,0x000300F8,
			0x000200C9,0x00030010,
			0x000200CD,0x00030025,
			0x000200F8,0x0003008A,
			0x000200AC,0x00030045,
			0x00020073,0x00030000,0x00030044,
			0x00020071,0x00030048,
			0x00020072,0x00030048,
			0x00020083,0x00030093,
            0x00020086,0x00030099,0x000300a3,0x000300a3,0x00030051,
			0x00020097,0x000300EE,
			0x000200A7,0x00030047,
			0x000200A0,0x000300DD,
			0x00020087,0x00030004, 0x00030003, 0x00030066,
			0x000200FA,0x0003008F,0x00030000,0x00030000,0x00030004,
			0x000200A3,0x00030022,
			0x000200FD,0x00030028,0x0003003C,0x00030000,
			0x0002009A,0x000300b0,
			0x0002009B,0x00030050,
			0x00020082,0x0003003E,0x0003003E,
			0x000200B1,0x00030010,
			0x0002007A,0x00030012,0x0003001A,
			0x0002007B,0x00030012,0x0003001A,
			0x0002006D,0x00030000,0x0003001F,0x00030019,0x0003001A,0x0003000C,0x0003000A,0x00030010,0x0003000E,0x00030002,0x00030008,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x0003001E,0x00030007,0x00030001,0x0003000D,0x0003000F,0x00030009,0x0003000B,0x0003001A,0x00030019,0x0003001F,0x00030000,
			0x00020060,0x00030038,0x0003000D,0x00030072,0x0003005A,0x00030038,0x0003000C,0x00030072,0x0003005A,
			0x00020063,0x00030038,0x0003000B,0x00030072,0x0003005A,0x00030038,0x0003000A,0x00030072,0x0003005A,
			0x00020064,0x00030038,0x00030009,0x00030003,0x00030067,0x00030003,0x00030003,0x00030038,0x00030008,0x00030003,0x00030068,0x00030003,0x00030003,0x00030072,0x0003005A,0x00030072,0x0003005A,
			0x00020065,0x00030038,0x00030007,0x00030003,0x00030069,0x00030003,0x00030003,0x00030038,0x00030006,0x00030003,0x0003006A,0x00030003,0x00030003,0x00030072,0x0003005A,0x00030072,0x0003005A,
			0x00020066,0x00030038,0x00030005,0x00030003,0x0003006B,0x00030003,0x00030003,0x00030038,0x00030004,0x00030003,0x0003006C,0x00030003,0x00030003,0x00030072,0x0003005A,0x00030072,0x0003005A,
			0x00020067,0x00030038,0x00030003,0x00030003,0x0003006D,0x00030003,0x00030003,0x00030038,0x00030002,0x00030003,0x0003006E,0x00030003,0x00030003,0x00030072,0x0003005A,0x00030072,0x0003005A,
			0x00020068,0x0003003C,0x00030008,0x00030011,0x00030008,0x00030010,0x0003007A,0x0003001C,0x00030008,0x00030011,0x00030008,0x00030010,0x0003007A,0x0003001C,
			0x00020069,0x00030014,0x00030022,0x00030014,0x00030022,0x00030044,0x00030022,0x00030008,
			0x0002006B,0x00030007,
			0x000200D1,0x00030000,0x0003000A,0x00030000,0x0003000C,0x00030000,0x0003000F,0x00030000,0x00030012,0x00030000,0x00030016,0x00030000,0x00030035,0x00030000,0x0003006B,0x00030001,0x00030040,0x00030001,0x000300A0,0x00030002,0x00030008,0x00030002,0x00030044,0x00030002,0x00030096,0x00030002,0x000300D1,0x00030002,0x000300D3,0x00030003,0x00030006,0x00030003,0x00030037,0x00030003,0x00030053,0x00030003,0x00030072,0x00030003,0x00030086,0x00030003,0x0003009C,0x00030003,0x000300A5,0x00030003,0x000300AC,0x00030003,0x000300B2,0x00030003,0x000300BB,0x00030003,0x000300CA,0x00030003,0x000300FF,
			0x000200D2,0x00030000,0x0003000A,0x00030000,0x0003000C,0x00030000,0x0003000F,0x00030000,0x00030012,0x00030000,0x00030016,0x00030000,0x00030035,0x00030000,0x0003006B,0x00030001,0x00030040,0x00030001,0x000300A0,0x00030002,0x00030008,0x00030002,0x00030044,0x00030002,0x00030096,0x00030002,0x000300D1,0x00030002,0x000300D3,0x00030003,0x00030006,0x00030003,0x00030037,0x00030003,0x00030053,0x00030003,0x00030072,0x00030003,0x00030086,0x00030003,0x0003009C,0x00030003,0x000300A5,0x00030003,0x000300AC,0x00030003,0x000300B2,0x00030003,0x000300BB,0x00030003,0x000300CA,0x00030003,0x000300FF,
			0x000200D3,0x00030000,0x0003000A,0x00030000,0x0003000C,0x00030000,0x0003000F,0x00030000,0x00030012,0x00030000,0x00030016,0x00030000,0x00030035,0x00030000,0x0003006B,0x00030001,0x00030040,0x00030001,0x000300A0,0x00030002,0x00030008,0x00030002,0x00030044,0x00030002,0x00030096,0x00030002,0x000300D1,0x00030002,0x000300D3,0x00030003,0x00030006,0x00030003,0x00030037,0x00030003,0x00030053,0x00030003,0x00030072,0x00030003,0x00030086,0x00030003,0x0003009C,0x00030003,0x000300A5,0x00030003,0x000300AC,0x00030003,0x000300B2,0x00030003,0x000300BB,0x00030003,0x000300CA,0x00030003,0x000300FF,
			0x000200D4,0x00030000,0x0003000A,0x00030000,0x0003000C,0x00030000,0x0003000F,0x00030000,0x00030012,0x00030000,0x00030016,0x00030000,0x00030035,0x00030000,0x0003006B,0x00030001,0x00030040,0x00030001,0x000300A0,0x00030002,0x00030008,0x00030002,0x00030044,0x00030002,0x00030096,0x00030002,0x000300D1,0x00030002,0x000300D3,0x00030003,0x00030006,0x00030003,0x00030037,0x00030003,0x00030053,0x00030003,0x00030072,0x00030003,0x00030086,0x00030003,0x0003009C,0x00030003,0x000300A5,0x00030003,0x000300AC,0x00030003,0x000300B2,0x00030003,0x000300BB,0x00030003,0x000300CA,0x00030003,0x000300FF,
			0x000200D5,0x00030000,0x0003000A,0x00030000,0x0003000C,0x00030000,0x0003000F,0x00030000,0x00030012,0x00030000,0x00030016,0x00030000,0x00030035,0x00030000,0x0003006B,0x00030001,0x00030040,0x00030001,0x000300A0,0x00030002,0x00030008,0x00030002,0x00030044,0x00030002,0x00030096,0x00030002,0x000300D1,0x00030002,0x000300D3,0x00030003,0x00030006,0x00030003,0x00030037,0x00030003,0x00030053,0x00030003,0x00030072,0x00030003,0x00030086,0x00030003,0x0003009C,0x00030003,0x000300A5,0x00030003,0x000300AC,0x00030003,0x000300B2,0x00030003,0x000300BB,0x00030003,0x000300CA,0x00030003,0x000300FF,
			0x000200D6,0x00030000,0x0003000A,0x00030000,0x0003000C,0x00030000,0x0003000F,0x00030000,0x00030012,0x00030000,0x00030016,0x00030000,0x00030035,0x00030000,0x0003006B,0x00030001,0x00030040,0x00030001,0x000300A0,0x00030002,0x00030008,0x00030002,0x00030044,0x00030002,0x00030096,0x00030002,0x000300D1,0x00030002,0x000300D3,0x00030003,0x00030006,0x00030003,0x00030037,0x00030003,0x00030053,0x00030003,0x00030072,0x00030003,0x00030086,0x00030003,0x0003009C,0x00030003,0x000300A5,0x00030003,0x000300AC,0x00030003,0x000300B2,0x00030003,0x000300BB,0x00030003,0x000300CA,0x00030003,0x000300FF,
			0x0002003A,0x00030050,
			0x00020011,
			0x00030000010078,
			0x00020029,
			0x00030000010014,			
			
        },]]
		
		initcmd =
        {

			0x000200F0, 0x00030055, 0x000300AA, 0x00030052, 0x00030008, 0x00030000,

			0x000200F6, 0x0003005A, 0x00030087,

			0x000200C1, 0x0003003F,

			0x000200C2, 0x0003000E,

			0x000200C6, 0x000300F8,

			0x000200C9, 0x00030010,

			0x000200CD, 0x00030025,

			0x000200F8, 0x0003008A,

			0x000200AC, 0x00030065,

			0x000200A7, 0x00030047,

			0x000200A0, 0x000300DD,

			0x00020071, 0x00030048,

			0x00020072, 0x00030048,

			0x00020073, 0x00030000, 0x00030044,

			0x00020097, 0x000300EE,

			0x00020083, 0x00030093,

			0x000200A3, 0x00030022,

			0x000200FD, 0x00030028, 0x0003003C, 0x00030000,

			0x000200FA, 0x0003008F, 0x00030000, 0x00030000,

			0x0002009A, 0x000300A2,

			0x0002009B, 0x0003008A,

			0x00020082, 0x00030075, 0x00030075,

			0x000200B1, 0x00030010,

			0x0002007A, 0x00030013, 0x0003001A,

			0x0002007B, 0x00030013, 0x0003001A,

			0x00020064, 0x00030018, 0x00030004, 0x00030003, 0x0003005B, 0x00030003, 0x00030003, 0x00030018, 0x00030003, 0x00030003, 0x0003005C, 0x00030003, 0x00030003, 0x00030010, 0x0003007A, 0x00030010, 0x0003007A,

			0x00020067, 0x00030018, 0x00030006, 0x00030003, 0x00030059, 0x00030003, 0x00030003, 0x00030018, 0x00030005, 0x00030003, 0x0003005A, 0x00030003, 0x00030003, 0x00030010, 0x0003007A, 0x00030010, 0x0003007A,

			0x00020060, 0x00030018, 0x00030007, 0x00030010, 0x0003007A, 0x00030018, 0x00030002, 0x00030010, 0x0003007A,

			0x00020063, 0x00030018, 0x00030002, 0x00030010, 0x0003007A, 0x00030018, 0x00030006, 0x00030010, 0x0003007A,

			0x00020068, 0x00030000, 0x00030008, 0x0003000A, 0x00030008, 0x00030009, 0x00030000, 0x00030000, 0x00030008, 0x0003000A, 0x00030008, 0x00030009, 0x00030000, 0x00030000,

			0x00020069, 0x00030014, 0x00030022, 0x00030014, 0x00030022, 0x00030044, 0x00030022, 0x00030008,

			0x000200D1, 0x00030000, 0x00030000, 0x00030000, 0x0003000F, 0x00030000, 0x0003001C, 0x00030000, 0x0003003D, 0x00030000, 0x0003005B, 0x00030000, 0x0003009F, 0x00030000, 0x000300E0, 0x00030001, 0x00030043, 0x00030001, 0x0003008A, 0x00030001, 0x000300E7, 0x00030002, 0x00030023, 0x00030002, 0x00030075, 0x00030002, 0x000300B1, 0x00030002, 0x000300B3, 0x00030002, 0x000300E7, 0x00030003, 0x0003001A, 0x00030003, 0x00030037, 0x00030003, 0x00030059, 0x00030003, 0x0003006E, 0x00030003, 0x00030089, 0x00030003, 0x00030099, 0x00030003, 0x000300A7, 0x00030003, 0x000300AD, 0x00030003, 0x000300B8, 0x00030003, 0x000300CF, 0x00030003, 0x000300FF,

			0x000200D2, 0x00030000, 0x00030000, 0x00030000, 0x0003000F, 0x00030000, 0x0003001C, 0x00030000, 0x0003003D, 0x00030000, 0x0003005B, 0x00030000, 0x0003009F, 0x00030000, 0x000300E0, 0x00030001, 0x00030043, 0x00030001, 0x0003008A, 0x00030001, 0x000300E7, 0x00030002, 0x00030023, 0x00030002, 0x00030075, 0x00030002, 0x000300B1, 0x00030002, 0x000300B3, 0x00030002, 0x000300E7, 0x00030003, 0x0003001A, 0x00030003, 0x00030037, 0x00030003, 0x00030059, 0x00030003, 0x0003006E, 0x00030003, 0x00030089, 0x00030003, 0x00030099, 0x00030003, 0x000300A7, 0x00030003, 0x000300AD, 0x00030003, 0x000300B8, 0x00030003, 0x000300CF, 0x00030003, 0x000300FF,

			0x000200D3, 0x00030000, 0x00030000, 0x00030000, 0x0003000F, 0x00030000, 0x0003001C, 0x00030000, 0x0003003D, 0x00030000, 0x0003005B, 0x00030000, 0x0003009F, 0x00030000, 0x000300E0, 0x00030001, 0x00030043, 0x00030001, 0x0003008A, 0x00030001, 0x000300E7, 0x00030002, 0x00030023, 0x00030002, 0x00030075, 0x00030002, 0x000300B1, 0x00030002, 0x000300B3, 0x00030002, 0x000300E7, 0x00030003, 0x0003001A, 0x00030003, 0x00030037, 0x00030003, 0x00030059, 0x00030003, 0x0003006E, 0x00030003, 0x00030089, 0x00030003, 0x00030099, 0x00030003, 0x000300A7, 0x00030003, 0x000300AD, 0x00030003, 0x000300B8, 0x00030003, 0x000300CF, 0x00030003, 0x000300FF,

			0x000200D4, 0x00030000, 0x00030000, 0x00030000, 0x0003000F, 0x00030000, 0x0003001C, 0x00030000, 0x0003003D, 0x00030000, 0x0003005B, 0x00030000, 0x0003009F, 0x00030000, 0x000300E0, 0x00030001, 0x00030043, 0x00030001, 0x0003008A, 0x00030001, 0x000300E7, 0x00030002, 0x00030023, 0x00030002, 0x00030075, 0x00030002, 0x000300B1, 0x00030002, 0x000300B3, 0x00030002, 0x000300E7, 0x00030003, 0x0003001A, 0x00030003, 0x00030037, 0x00030003, 0x00030059, 0x00030003, 0x0003006E, 0x00030003, 0x00030089, 0x00030003, 0x00030099, 0x00030003, 0x000300A7, 0x00030003, 0x000300AD, 0x00030003, 0x000300B8, 0x00030003, 0x000300CF, 0x00030003, 0x000300FF,

			0x000200D5, 0x00030000, 0x00030000, 0x00030000, 0x0003000F, 0x00030000, 0x0003001C, 0x00030000, 0x0003003D, 0x00030000, 0x0003005B, 0x00030000, 0x0003009F, 0x00030000, 0x000300E0, 0x00030001, 0x00030043, 0x00030001, 0x0003008A, 0x00030001, 0x000300E7, 0x00030002, 0x00030023, 0x00030002, 0x00030075, 0x00030002, 0x000300B1, 0x00030002, 0x000300B3, 0x00030002, 0x000300E7, 0x00030003, 0x0003001A, 0x00030003, 0x00030037, 0x00030003, 0x00030059, 0x00030003, 0x0003006E, 0x00030003, 0x00030089, 0x00030003, 0x00030099, 0x00030003, 0x000300A7, 0x00030003, 0x000300AD, 0x00030003, 0x000300B8, 0x00030003, 0x000300CF, 0x00030003, 0x000300FF,

			0x000200D6, 0x00030000, 0x00030000, 0x00030000, 0x0003000F, 0x00030000, 0x0003001C, 0x00030000, 0x0003003D, 0x00030000, 0x0003005B, 0x00030000, 0x0003009F, 0x00030000, 0x000300E0, 0x00030001, 0x00030043, 0x00030001, 0x0003008A, 0x00030001, 0x000300E7, 0x00030002, 0x00030023, 0x00030002, 0x00030075, 0x00030002, 0x000300B1, 0x00030002, 0x000300B3, 0x00030002, 0x000300E7, 0x00030003, 0x0003001A, 0x00030003, 0x00030037, 0x00030003, 0x00030059, 0x00030003, 0x0003006E, 0x00030003, 0x00030089, 0x00030003, 0x00030099, 0x00030003, 0x000300A7, 0x00030003, 0x000300AD, 0x00030003, 0x000300B8, 0x00030003, 0x000300CF, 0x00030003, 0x000300FF,

			0x00020011, 0x00030000,

			0x00020029, 0x00030000,


			
        },
        --休眠命令
        sleepcmd = {
	    	0x00020028,
            0x00020010,
        },
        --唤醒命令
        wakecmd = {
        	0x00020011,
	    	0x00020029,
        }
    }
    disp.init(para)
    disp.clear()
    disp.update()
end

-- VLCD电压域配置
pmd.ldoset(15,pmd.LDO_VIBR)

-- 背光配置
function backlightopen(on)
	if on then
		pins.setup(pio.P0_8,1)
		log.info("mipi_lcd_GC9503V 你打开了背光")
	else
		pins.setup(pio.P0_8,0)
		log.info("mipi_lcd_GC9503V 你关闭了背光")
	end
end
backlightopen(true)
-- 初始化
init()
